<?php

namespace app\admin\controller;

use app\admin\model\Manager as ManagerModel;
use app\admin\model\AuthGroup;
use think\Request;
class Manager extends Common
{
    //控制器前置操作
    protected $beforeActionList = [
        'checkrequest'  =>  ['only'=>'save,update,delete,setstatus'],
    ];
    /**
     * 显示管理员列表
     *
     * @return \think\Response
     */
    public function index()
    {
        //获取管理员信息-分页
//        $list=db('manager')->order('id Desc')->select();
        //实例化manager模型

//     dump(collection($list)->toArray());die;
        $list=ManagerModel::getlistall();
        $this->assign('list',$list);
        return view();
    }

    /**
     * 显示创建添加管理员表单页.
     *
     * @return \think\Response
     */
    public function add()
    {
        $authgroup=AuthGroup::all();
        $this->assign('authgroup',$authgroup);
        return view();
    }

    /**
     * 添加管理员
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
//        if(!request()->isPost()){
//            return returnjson(0,"操作异常");
//        }
        //获取POST数据
        $data=$request->post();
        //向模型提交数据
        $result=ManagerModel::store($data);
        return $result;
    }


    /**
     * 显示编辑管理员表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        $authgroup=AuthGroup::all();
        $this->assign('authgroup',$authgroup);
//        $manager=db('manager')->where('id',$id)->find();
        //获取管理员的角色信息
        $group=db("auth_group_access")->where('uid',$id)->field("group_id")->find();
        $manager=ManagerModel::get($id);
        $this->assign('manager',$manager);
        $this->assign('group_id',$group['group_id']);
        return view();
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
//        if(!request()->isPost()){
////            return json(['code'=>0,'msg'=>"操作异常"]);
//            return returnjson(0,"操作异常");
//        }
        //获取POST数据
        $data=$request->post();
        $result=ManagerModel::store($data);
        return $result;
    }

    /**
     * 删除管理员
     *
     * @param  int  $id 格式1：1，格式2:1,2,3
     * @return \think\Response
     */
    public function delete($id)
    {
//        if(!request()->isPost()){
//            return returnjson(0,"操作异常");
//        }
        $result=ManagerModel::del($id);
        return $result;
    }
    //设置管理员状态
    public function setstatus($id){
//        if(!request()->isPost()){
//            return returnjson(0,"操作异常");
//        }
//        return $this->checkrequest();
        $result=ManagerModel::setstatus($id);
        return $result;
    }

    protected function checkrequest(){
        if(!request()->isPost()){
//            return returnjson(0,"操作异常");die;
            echo json_encode(['code'=>1,'msg'=>'操作异常']);exit;
        }
    }
}
